package platform;

import platform.cmdexecutor.MacPlatformCommandExecutor;
import platform.cmdexecutor.PlatformCommandExecutor;
import platform.hwinfofetcher.HardwareInfoFetcher;
import platform.hwinfofetcher.MacHardwareInfoFetcher;
import platform.upgrader.MacPlayerUpgrader;
import platform.upgrader.PlayerUpgrader;

public class MacPlatformObjectFactory extends PlatformObjectFactory{

	private static MacPlatformObjectFactory _instance;

	public static MacPlatformObjectFactory getInstance() {
		if (_instance == null) {
			_instance = new MacPlatformObjectFactory();
		}
		return _instance;
	}

	private MacPlatformObjectFactory() {}
	
	@Override
	public PlatformCommandExecutor getCommandExecutor() {
		return MacPlatformCommandExecutor.getInstance();
	}

	@Override
	public PlayerUpgrader getPlayerUpgrader() {
		return new MacPlayerUpgrader();
	}

	@Override
	public HardwareInfoFetcher getHardwareInfoFetcher() {
		return new MacHardwareInfoFetcher();
	}
	

}
